{"ast":null,"code":"'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\nfunction progressEventReducer(listener, isDownloadStream) {\n  let bytesNotified = 0;\n  const _speedometer = speedometer(50, 250);\n  return e => {\n    const loaded = e.loaded;\n    const total = e.lengthComputable ? e.total : undefined;\n    const progressBytes = loaded - bytesNotified;\n    const rate = _speedometer(progressBytes);\n    const inRange = loaded <= total;\n    bytesNotified = loaded;\n    const data = {\n      loaded,\n      total,\n      progress: total ? loaded / total : undefined,\n      bytes: progressBytes,\n      rate: rate ? rate : undefined,\n      estimated: rate && total && inRange ? (total - loaded) / rate : undefined\n    };\n    data[isDownloadStream ? 'download' : 'upload'] = true;\n    listener(data);\n  };\n}\nexport default function xhrAdapter(config) {\n  return new Promise(function dispatchXhrRequest(resolve, reject) {\n    let requestData = config.data;\n    const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n    const responseType = config.responseType;\n    let onCanceled;\n    function done() {\n      if (config.cancelToken) {\n        config.cancelToken.unsubscribe(onCanceled);\n      }\n      if (config.signal) {\n        config.signal.removeEventListener('abort', onCanceled);\n      }\n    }\n    if (utils.isFormData(requestData) && platform.isStandardBrowserEnv) {\n      requestHeaders.setContentType(false); // Let the browser set it\n    }\n\n    let request = new XMLHttpRequest();\n\n    // HTTP basic authentication\n    if (config.auth) {\n      const username = config.auth.username || '';\n      const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n      requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n    }\n    const fullPath = buildFullPath(config.baseURL, config.url);\n    request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n    // Set the request timeout in MS\n    request.timeout = config.timeout;\n    function onloadend() {\n      if (!request) {\n        return;\n      }\n      // Prepare the response\n      const responseHeaders = AxiosHeaders.from('getAllResponseHeaders' in request && request.getAllResponseHeaders());\n      const responseData = !responseType || responseType === 'text' || responseType === 'json' ? request.responseText : request.response;\n      const response = {\n        data: responseData,\n        status: request.status,\n        statusText: request.statusText,\n        headers: responseHeaders,\n        config,\n        request\n      };\n      settle(function _resolve(value) {\n        resolve(value);\n        done();\n      }, function _reject(err) {\n        reject(err);\n        done();\n      }, response);\n\n      // Clean up request\n      request = null;\n    }\n    if ('onloadend' in request) {\n      // Use onloadend if available\n      request.onloadend = onloadend;\n    } else {\n      // Listen for ready state to emulate onloadend\n      request.onreadystatechange = function handleLoad() {\n        if (!request || request.readyState !== 4) {\n          return;\n        }\n\n        // The request errored out and we didn't get a response, this will be\n        // handled by onerror instead\n        // With one exception: request that using file: protocol, most browsers\n        // will return status as 0 even though it's a successful request\n        if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n          return;\n        }\n        // readystate handler is calling before onerror or ontimeout handlers,\n        // so we should call onloadend on the next 'tick'\n        setTimeout(onloadend);\n      };\n    }\n\n    // Handle browser request cancellation (as opposed to a manual cancellation)\n    request.onabort = function handleAbort() {\n      if (!request) {\n        return;\n      }\n      reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n      // Clean up request\n      request = null;\n    };\n\n    // Handle low level network errors\n    request.onerror = function handleError() {\n      // Real errors are hidden from us by the browser\n      // onerror should only fire if it's a network error\n      reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n      // Clean up request\n      request = null;\n    };\n\n    // Handle timeout\n    request.ontimeout = function handleTimeout() {\n      let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n      const transitional = config.transitional || transitionalDefaults;\n      if (config.timeoutErrorMessage) {\n        timeoutErrorMessage = config.timeoutErrorMessage;\n      }\n      reject(new AxiosError(timeoutErrorMessage, transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED, config, request));\n\n      // Clean up request\n      request = null;\n    };\n\n    // Add xsrf header\n    // This is only done if running in a standard browser environment.\n    // Specifically not if we're in a web worker, or react-native.\n    if (platform.isStandardBrowserEnv) {\n      // Add xsrf header\n      const xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n      if (xsrfValue) {\n        requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n      }\n    }\n\n    // Remove Content-Type if data is undefined\n    requestData === undefined && requestHeaders.setContentType(null);\n\n    // Add headers to the request\n    if ('setRequestHeader' in request) {\n      utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n        request.setRequestHeader(key, val);\n      });\n    }\n\n    // Add withCredentials to request if needed\n    if (!utils.isUndefined(config.withCredentials)) {\n      request.withCredentials = !!config.withCredentials;\n    }\n\n    // Add responseType to request if needed\n    if (responseType && responseType !== 'json') {\n      request.responseType = config.responseType;\n    }\n\n    // Handle progress if needed\n    if (typeof config.onDownloadProgress === 'function') {\n      request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n    }\n\n    // Not all browsers support upload events\n    if (typeof config.onUploadProgress === 'function' && request.upload) {\n      request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n    }\n    if (config.cancelToken || config.signal) {\n      // Handle cancellation\n      // eslint-disable-next-line func-names\n      onCanceled = cancel => {\n        if (!request) {\n          return;\n        }\n        reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n        request.abort();\n        request = null;\n      };\n      config.cancelToken && config.cancelToken.subscribe(onCanceled);\n      if (config.signal) {\n        config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n      }\n    }\n    const protocol = parseProtocol(fullPath);\n    if (protocol && platform.protocols.indexOf(protocol) === -1) {\n      reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n      return;\n    }\n\n    // Send the request\n    request.send(requestData || null);\n  });\n}","map":{"version":3,"names":["utils","settle","cookies","buildURL","buildFullPath","isURLSameOrigin","transitionalDefaults","AxiosError","CanceledError","parseProtocol","platform","AxiosHeaders","speedometer","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","e","loaded","total","lengthComputable","undefined","progressBytes","rate","inRange","data","progress","bytes","estimated","xhrAdapter","config","Promise","dispatchXhrRequest","resolve","reject","requestData","requestHeaders","from","headers","normalize","responseType","onCanceled","done","cancelToken","unsubscribe","signal","removeEventListener","isFormData","isStandardBrowserEnv","setContentType","request","XMLHttpRequest","auth","username","password","unescape","encodeURIComponent","set","btoa","fullPath","baseURL","url","open","method","toUpperCase","params","paramsSerializer","timeout","onloadend","responseHeaders","getAllResponseHeaders","responseData","responseText","response","status","statusText","_resolve","value","_reject","err","onreadystatechange","handleLoad","readyState","responseURL","indexOf","setTimeout","onabort","handleAbort","ECONNABORTED","onerror","handleError","ERR_NETWORK","ontimeout","handleTimeout","timeoutErrorMessage","transitional","clarifyTimeoutError","ETIMEDOUT","xsrfValue","withCredentials","xsrfCookieName","read","xsrfHeaderName","forEach","toJSON","setRequestHeader","val","key","isUndefined","onDownloadProgress","addEventListener","onUploadProgress","upload","cancel","type","abort","subscribe","aborted","protocol","protocols","ERR_BAD_REQUEST","send"],"sources":["/data/messenger.client/node_modules/axios/lib/adapters/xhr.js"],"sourcesContent":["'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n  let bytesNotified = 0;\n  const _speedometer = speedometer(50, 250);\n\n  return e => {\n    const loaded = e.loaded;\n    const total = e.lengthComputable ? e.total : undefined;\n    const progressBytes = loaded - bytesNotified;\n    const rate = _speedometer(progressBytes);\n    const inRange = loaded <= total;\n\n    bytesNotified = loaded;\n\n    const data = {\n      loaded,\n      total,\n      progress: total ? (loaded / total) : undefined,\n      bytes: progressBytes,\n      rate: rate ? rate : undefined,\n      estimated: rate && total && inRange ? (total - loaded) / rate : undefined\n    };\n\n    data[isDownloadStream ? 'download' : 'upload'] = true;\n\n    listener(data);\n  };\n}\n\nexport default function xhrAdapter(config) {\n  return new Promise(function dispatchXhrRequest(resolve, reject) {\n    let requestData = config.data;\n    const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n    const responseType = config.responseType;\n    let onCanceled;\n    function done() {\n      if (config.cancelToken) {\n        config.cancelToken.unsubscribe(onCanceled);\n      }\n\n      if (config.signal) {\n        config.signal.removeEventListener('abort', onCanceled);\n      }\n    }\n\n    if (utils.isFormData(requestData) && platform.isStandardBrowserEnv) {\n      requestHeaders.setContentType(false); // Let the browser set it\n    }\n\n    let request = new XMLHttpRequest();\n\n    // HTTP basic authentication\n    if (config.auth) {\n      const username = config.auth.username || '';\n      const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n      requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n    }\n\n    const fullPath = buildFullPath(config.baseURL, config.url);\n\n    request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n    // Set the request timeout in MS\n    request.timeout = config.timeout;\n\n    function onloadend() {\n      if (!request) {\n        return;\n      }\n      // Prepare the response\n      const responseHeaders = AxiosHeaders.from(\n        'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n      );\n      const responseData = !responseType || responseType === 'text' ||  responseType === 'json' ?\n        request.responseText : request.response;\n      const response = {\n        data: responseData,\n        status: request.status,\n        statusText: request.statusText,\n        headers: responseHeaders,\n        config,\n        request\n      };\n\n      settle(function _resolve(value) {\n        resolve(value);\n        done();\n      }, function _reject(err) {\n        reject(err);\n        done();\n      }, response);\n\n      // Clean up request\n      request = null;\n    }\n\n    if ('onloadend' in request) {\n      // Use onloadend if available\n      request.onloadend = onloadend;\n    } else {\n      // Listen for ready state to emulate onloadend\n      request.onreadystatechange = function handleLoad() {\n        if (!request || request.readyState !== 4) {\n          return;\n        }\n\n        // The request errored out and we didn't get a response, this will be\n        // handled by onerror instead\n        // With one exception: request that using file: protocol, most browsers\n        // will return status as 0 even though it's a successful request\n        if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n          return;\n        }\n        // readystate handler is calling before onerror or ontimeout handlers,\n        // so we should call onloadend on the next 'tick'\n        setTimeout(onloadend);\n      };\n    }\n\n    // Handle browser request cancellation (as opposed to a manual cancellation)\n    request.onabort = function handleAbort() {\n      if (!request) {\n        return;\n      }\n\n      reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n      // Clean up request\n      request = null;\n    };\n\n    // Handle low level network errors\n    request.onerror = function handleError() {\n      // Real errors are hidden from us by the browser\n      // onerror should only fire if it's a network error\n      reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n      // Clean up request\n      request = null;\n    };\n\n    // Handle timeout\n    request.ontimeout = function handleTimeout() {\n      let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n      const transitional = config.transitional || transitionalDefaults;\n      if (config.timeoutErrorMessage) {\n        timeoutErrorMessage = config.timeoutErrorMessage;\n      }\n      reject(new AxiosError(\n        timeoutErrorMessage,\n        transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n        config,\n        request));\n\n      // Clean up request\n      request = null;\n    };\n\n    // Add xsrf header\n    // This is only done if running in a standard browser environment.\n    // Specifically not if we're in a web worker, or react-native.\n    if (platform.isStandardBrowserEnv) {\n      // Add xsrf header\n      const xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath))\n        && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n      if (xsrfValue) {\n        requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n      }\n    }\n\n    // Remove Content-Type if data is undefined\n    requestData === undefined && requestHeaders.setContentType(null);\n\n    // Add headers to the request\n    if ('setRequestHeader' in request) {\n      utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n        request.setRequestHeader(key, val);\n      });\n    }\n\n    // Add withCredentials to request if needed\n    if (!utils.isUndefined(config.withCredentials)) {\n      request.withCredentials = !!config.withCredentials;\n    }\n\n    // Add responseType to request if needed\n    if (responseType && responseType !== 'json') {\n      request.responseType = config.responseType;\n    }\n\n    // Handle progress if needed\n    if (typeof config.onDownloadProgress === 'function') {\n      request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n    }\n\n    // Not all browsers support upload events\n    if (typeof config.onUploadProgress === 'function' && request.upload) {\n      request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n    }\n\n    if (config.cancelToken || config.signal) {\n      // Handle cancellation\n      // eslint-disable-next-line func-names\n      onCanceled = cancel => {\n        if (!request) {\n          return;\n        }\n        reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n        request.abort();\n        request = null;\n      };\n\n      config.cancelToken && config.cancelToken.subscribe(onCanceled);\n      if (config.signal) {\n        config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n      }\n    }\n\n    const protocol = parseProtocol(fullPath);\n\n    if (protocol && platform.protocols.indexOf(protocol) === -1) {\n      reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n      return;\n    }\n\n\n    // Send the request\n    request.send(requestData || null);\n  });\n}\n"],"mappings":"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"},"metadata":{},"sourceType":"module"}